@echo off
chcp 65001 >nul
echo ============================================
echo 🧪 测试自启动功能
echo ============================================
echo.

echo 请选择测试项目：
echo.
echo 1. 测试重启手机后自启动
echo 2. 测试强制停止后自动重启
echo 3. 查看服务运行状态
echo 4. 查看保存的配置信息
echo 5. 查看实时日志
echo 6. 清除所有日志
echo 7. 退出
echo.

set /p choice="请输入选项 (1-7): "

if "%choice%"=="1" goto test_reboot
if "%choice%"=="2" goto test_force_stop
if "%choice%"=="3" goto check_status
if "%choice%"=="4" goto check_config
if "%choice%"=="5" goto watch_logs
if "%choice%"=="6" goto clear_logs
if "%choice%"=="7" goto end

:test_reboot
echo.
echo ⚠️  即将重启手机...
echo    重启后请查看通知栏是否有"模拟定位运行中"通知
echo.
set /p confirm="确认重启？(Y/N): "
if /i "%confirm%"=="Y" (
    echo 正在重启手机...
    adb reboot
    echo.
    echo ✅ 重启命令已发送
    echo    请等待手机完全启动后，检查服务是否自动运行
)
goto menu

:test_force_stop
echo.
echo 🛑 正在强制停止App...
adb shell am force-stop com.example.munidingwei
if %ERRORLEVEL% EQU 0 (
    echo ✅ App已强制停止
    echo.
    echo ⏳ 等待5秒查看是否自动重启...
    timeout /t 5 /nobreak >nul
    echo.
    echo 📊 查看服务状态：
    adb shell dumpsys activity services com.example.munidingwei
    echo.
    echo 📊 查看重启日志：
    adb logcat -d ^| findstr /C:"ServiceRestartReceiver" /C:"LocationForegroundService"
) else (
    echo ❌ 停止失败
)
pause
goto menu

:check_status
echo.
echo 📊 当前服务状态：
echo ============================================
adb shell dumpsys activity services com.example.munidingwei
echo ============================================
echo.
echo 📊 进程信息：
adb shell ps ^| findstr munidingwei
echo.
echo 📊 通知信息：
adb shell dumpsys notification ^| findstr munidingwei
echo.
pause
goto menu

:check_config
echo.
echo ⚙️  保存的配置信息：
echo ============================================
adb shell run-as com.example.munidingwei cat shared_prefs/app_prefs.xml 2>nul
if %ERRORLEVEL% NEQ 0 (
    echo 无法读取配置（可能需要root权限或debuggable=true）
    echo.
    echo 尝试通过日志查看配置：
    adb shell logcat -d ^| findstr /C:"app_prefs" /C:"auto_start" /C:"last_latitude"
)
echo ============================================
echo.
pause
goto menu

:watch_logs
echo.
echo 📊 实时监控日志（按Ctrl+C停止）...
echo ============================================
adb logcat -c
adb logcat ^| findstr /C:"LocationForegroundService" /C:"BootReceiver" /C:"ServiceRestartReceiver" /C:"KeepAliveHelper"
goto menu

:clear_logs
echo.
echo 🗑️  清除设备日志...
adb logcat -c
echo ✅ 日志已清除
echo.
pause
goto menu

:menu
echo.
echo 是否继续测试？(Y/N)
set /p continue="> "
if /i "%continue%"=="Y" (
    cls
    goto :eof
) else (
    goto end
)

:end
echo.
echo 👋 测试结束
pause



